#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct student{
    char name[30];
    int sorce;
    struct student *next;
}stu, *list;
 list L=NULL;
int main()
{
    int n;
    L = (list)malloc(sizeof(stu));   //给表头分配空间（创建一个空表）
    L->next=NULL;

//    printf("是否选择释放空间---释放输入1\n");
//    scanf("%d", &n);
//    if(n==1){
//        del(L);
//    }
    add(L);                            //项链表里添加元素
    print(L);                           //输出链表
    return 0;
}
void add(list L){                             //向链表中添加元素
    list p1=NULL, p=NULL;
    printf("请输入姓名和成绩--输入0结束\n");
    p1 = (list)malloc(sizeof(stu));
    scanf("%s", p1->name);
    while(strcmp("0", p1->name)!=0){
        scanf("%d", &p1->sorce);
        if(p==NULL){
            p=p1;
            L->next=p;
        }else{
            p->next=p1;
        }
        p=p1;
        p->next=NULL;
        p1 = (list)malloc(sizeof(stu));
        scanf("%s", p1->name);
    }
}
void del(list L){                           //释放链表
    list p;
    while(L){
        p = L;
        L=L->next;
        free(p);
    }
    return;
}
void print(list L){                          //打印输出链表
    list l=NULL;
    for(l = L->next; l!=NULL; l=l->next){
        printf("%s %d\n", l->name, l->sorce);
    }
}